package EA;

/** Abstract class for the contents of the nodes in a NumericalTreeGenome tree. The
    NumericalTreeGenomeContents class represents the different types of contents a
    NumericalTreeGenome node can contain. This includes not only operators but also
    the contents of leaves in the tree, i.e. constants, inputvariables etc.
    <br>Subclass this for each of your operators, constants and 
    inputvariables when implementing your EA. 
*/
public class NumTreeGenomeContents extends TreeGenomeContents
{
  public NumTreeGenomeContents()
    {
      super();
    }

  public NumTreeGenomeContents(Object thecontainer)
    {
      super(thecontainer);
    }

  /** Evaluate the operator for this TreeGenomeContents. 
      This is called from TreeGenome.evaluate()<br>Override this with your
      chosen operator.
      @param arguments Array of arguments to the operator. 
  */
  public double evaluateNumerical(double[] arguments)
    {
      return 0;
    }

  /** Return the constant/variable for this NumericalTreeGenome node. This is called
      when a NumericalTreeGenome has no sons. 
  */
  public double evaluateNumerical()
    {
      return 0;
    }

  /** Get the maximal value this NumTreeGenomeContents can have. */
  public double getMaxValue()
    {
      return 0;
    }

  /** Get the minimal value this NumTreeGenomeContents can have. */
  public double getMinValue()
    {
      return 0;
    }

  /** Get the current value of this NumTreeGenomeContents. */
  public double getCurValue()
    {
      return 0;
    }
}
